<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 如何把普通数组转换为树形结构 -->
    <script>
       const arr = [
            {id:1,name:'家电',pid:''},
            {id:2,name:'家具',pid:''},
            {id:3,name:'电视',pid:1},
            {id:4,name:'小米电视',pid:3},
            {id:5,name:'熊猫电视',pid:3}
        ]
        // const list1 =[]
        // arr.forEach(item1=>{
        //     if(item1.pid==='') {
        //         list1.push(item1)
        //         const list2 =[]
        //         arr.forEach(item2=>{
        //             if(item1.id===item2.pid) {
        //                 list2.push(item2)
        //                 // 
        //                 const list3=[]
        //                 arr.forEach(item3=>{
        //                     if(item3.pid===item2.id) {
        //                         list3.push(item3)
        //                     }
        //                 })
        //                 if(list3.length>0) {
        //                     item2.children=list3
        //                 }
        //             }
        //         })
        //         if(list2.length) {
        //             item1.children=list2
        //         }
        //     }
        // })
        // console.log(list1)
        // 
        function transListToTree(arr,pid) {
            const list=[]
            arr.forEach(item => {
                if(item.pid===pid) {
                    list.push(item)
                    const list1=transListToTree(arr,item.id) 
                    if(list1.length>0) {
                        item.children=list1
                    }
                }
                
            });
            return list
        }
        console.log(transListToTree(arr,''))
    </script>
</body>
</html>